Billentyűzetről beolvasott sor szavakra bontása (Szavak.pas)
program Szavak; uses crt; var s,sb:string;
i2:integer; BEGIN clrscr; write('Kerek
egy szoveget: '); readln(s);
Bekérünk egy szöveget.
sb:=s+' *';
A bekért szöveget berakjuk a StringBuffer típusú sb változóba úgy, hogy a végére egy szóköz után *-ot rakunk.
i2:=pos(' ',sb);
Az i2 változóba beállítjuk az sb változóban lévő első szóköz pozícióját. A pos() függvény 0-t ad vissza, ha nem talál szóközt.
while (i2>0) do begin
Amíg van szóköz, addig működik a ciklus.
if(i2>1) then begin
Hogyha talált egy szóközt és ez nem az első helyen van, akkor kimásolja az sb változóból az első pozíciótól a szóköz előtti karakterig tartó karaktersorozatot, azaz egy szót és ezt kiírja a képernyőre.
writeln (copy(sb,1,i2-1));
end; sb:=copy(sb,i2+1,255);
Az sb-t úgy módosítjuk, hogy a már kiírt szót ne tartalmazza.
i2:=pos(' ',sb);
i2-be újra beletesszük az sb-ben található első szóköz pozícióját.
end; END.
|